/* 
 * System class, handles logins and initializes classes
 * Passes low-level class pointer to other classes for inter-class communication
 */
#ifndef SYSTEM_H
#define	SYSTEM_H

#include "BookUser.h"
#include "ClientUser.h"
#include "FinanceUser.h"
#include "HolidayUser.h"
#include "GeneralUser.h"

class tSystem;

class System {
    friend class tSystem;
public:
    System();
    virtual ~System();

    void login();

private:
    int verifyLogin(string, string);
    void initializeLink();

    BookUser bu;
    ClientUser cu;
    FinanceUser fu;
    GeneralUser gu;
    HolidayUser hu;

    BookingClass bc;
    Holiday hol;
    Management mg;
    Mailbox mb;

    DataStore ds;
};

#endif	/* SYSTEM_H */

